package top.someapp.applib.cast;

/**
 * @author zw-zheng
 * Created on 2019-07-19
 */
public interface Castor<T> {

    /**
     * 将 from 转换成 T 类型的值，如果不能转换可以选择抛出异常或返回 defaultValue
     *
     * @param from 待转换的值
     * @param defaultValue 可选的默认值
     * @return 转换的目标类型值
     * @throws ClassCastException 类型转换异常
     */
    T cast(Object from, T defaultValue) throws ClassCastException;
}
